import CryptoJS from 'crypto-js';

//默认自定义的约定密钥(与后端密钥保持一致)
const KEY = CryptoJS.enc.Utf8.parse("g5y13uidip12rrrr"); //  内容可自定义  16位长度字符
const IV = CryptoJS.enc.Utf8.parse("g5y13uidip12问r"); //  密钥偏移量    16位长度字符

/**
 * AES对称加密 （CBC模式，需要偏移量）
 * @param {Object} params 明文参数
 */
export default function encrypt(str) {
	let key = KEY
	let iv = IV
	console.log(str);
	//明文
	let srcs = CryptoJS.enc.Utf8.parse(str);
	console.log("明文")
	console.log(srcs);
	//加密
	var encrypt = CryptoJS.AES.encrypt(srcs, key, {
		iv: iv,
		mode: CryptoJS.mode.CBC, //AES加密模式
		padding: CryptoJS.pad.Pkcs7 //填充方式，这里后端是5 也可以用
	});
	console.log("加密后");
	console.log(encrypt);
	console.log("base64加密");
	console.log(CryptoJS.enc.Base64.stringify(encrypt.ciphertext))
	return CryptoJS.enc.Base64.stringify(encrypt.ciphertext); //返回base64格式密文
}